home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
301-325
/
304
/
skel
/
abouthelp.c
next >
Wrap
C/C++ Source or Header
|
1995-03-14
|
2KB
|
96 lines
/*
* abouthelp.c : file containing about(), and help(), as well as
* all the text structs for autorequesters.
*/
#include <intuition/intuition.h>
#include "helpwin.h"
/*
* Handle help request
*/
extern struct Window *wG; /* main window */
struct Window *wH; /* help window */
struct RastPort *rpH; /* help RastPort */
struct Window *OpenWindow();
struct IntuiMessage *GetMsg();
struct TextFont *OpenFont();
help()
{
struct IntuiMessage *message; /* the message from the IDCMP */
struct TextFont *font;
ULONG class;
int i, j;
int dun = FALSE;
font = NULL;
wH = NULL;
wH = OpenWindow(&NewWindowStructureHelp); /* open the window */
if ( wH == NULL )
{
AutoRequest(wG,&winfailtxt,0L,&oktxt,0L,0L,300L,75L);
return;
}
rpH = wH->RPort; /* get a rastport pointer for the window */
font = OpenFont(&TOPAZ80); /* make sure correct size font */
if (font) SetFont(rpH,font);
SetAPen(rpH,1L);
i = 0;
while (!dun) /* repeat til all of text array has been read */
{
for (j=0; i<40; j++, i++) /* dump the help text array */
{
if (!HelpText[i]) { dun=TRUE; break;}
if (*HelpText[i] == '\f') { ++i; break; } /* pause for page */
Move(rpH,25L,(long) j*8+20);
if (*HelpText[i] != '\0' )
Text(rpH,HelpText[i], (long) strlen(HelpText[i]));
}
while(1) /* Process all messages */
{
WaitPort(wH->UserPort); /* wait for a message */
while( (message = (struct IntuiMessage *)
GetMsg(wH->UserPort) ) != NULL)
{
class = message->Class;
ReplyMsg(message);
switch (class)
{
case GADGETUP: /* MORE is the only gadget */
goto next;
break;
case MENUPICK:
continue;
}
}
}
next:
SetAPen(rpH,0L); /* clear window for next page */
RectFill(rpH,2L,12L,(long)wH->Width-3L,(long)wH->Height-2L);
RefreshGList(&HelpDone_Gad,wH,NULL,-1L);
SetAPen(rpH,1L);
}
if (font) CloseFont(font);
if (wH) CloseWindow(wH);
}
/*
* Handle 'about' request
*/
about()
{
AutoRequest(wG,&aboutmsg,0L,&oktxt,0L,0L,300L,75L);
}